package com.sg.dto.biz.bff.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc BffBottomUpdateNumberContentStatusMessagesReqDto
 * @使用场景
 */
@Data
public class BffBottomUpdateNumberContentStatusMessagesReqDto
        implements Serializable {

    /**
     * 状态更新使用场景 SCENE_OF_REPORT_TASK:汇报任务场景 SCENE_OF_WORK_TASK:工作任务场景
     */
    @NotNull(message = "状态更新使用场景不能为空")
    @ApiModelProperty("状态更新使用场景")
    private String sceneOfUpdateStatus;

    /**
     * 工作任务对象类型 PROJECT:项目 TASK:任务 PROBLEM:问题
     */
    @ApiModelProperty("工作任务对象类型")
    private String workTaskObjectType;

    /**
     * 高/中/基层操作场景 TOP:高层 MID:中层 BASIC:基层 UCD:UCD框架
     */
    @ApiModelProperty("高/中/基层操作场景")
    private String batchOperateScene;

    /**
     * 工作任务管理筛选条件
     */
    @ApiModelProperty("工作任务管理筛选条件")
    private String workTaskMgtScreen;

    /**
     * 工作任务状态筛选条件
     */
    @ApiModelProperty("工作任务状态筛选条件")
    private String taskStatusScreen;

    /**
     * 问题视角筛选条件
     */
    @ApiModelProperty("问题视角筛选条件")
    private String questionAngleScreen;

    /**
     * 问题状态筛选条件
     */
    @ApiModelProperty("问题状态筛选条件")
    private String questionStatusScreen;

    /**
     * 问题提出类型筛选条件
     */
    @ApiModelProperty("问题提出类型筛选条件")
    private String questionProposeTypeScreen;

    /**
     * 汇报任务评价房间 MY_REPORT_TASK:我汇报的 TASK_REPORT_TO_ME:汇报给我的 TASK_RELATED_TO_ME:我相关的
     */
    @ApiModelProperty("汇报任务评价房间")
    private String reportTaskEvaRoom;

    /**
     * 内容冗余状态 EDITING:草稿 TOBESIGN:待签收 ONGOING:进行中 FAILED:已失败 OVERDUE:逾期任务 NOT_AT_THE:未开始 UNCOMPLETED:未完成 COMPLETED:已完成 UNREPORTED:待汇报 EVA:评价中 AUDIT:审核中 EXPIRED:已逾期 SUCCESS:已成功 ENDED:已结束 UNLIMITED:不限
     */
    @ApiModelProperty("内容冗余状态")
    private String stateCode;

    /**
     * 是否逾期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否逾期")
    private String isOverdue;

    /**
     * 是否完成 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否完成")
    private String isComplete;

    /**
     * 归属内容ID
     */
    @ApiModelProperty("归属内容ID")
    private String entityId;

    /**
     * 数据总条数
     */
    @ApiModelProperty("数据总条数")
    private Long totals;

    /**
     * 冗余评价模板ID
     */
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;

}
